Present invention embodiments relate to database technology, and more specifically, to virtualizing relations of a schema by mapping those virtual relations to a single underlying real database relation.
In a relational database, information is organized into one or more relations (also referred to as tables). Each relation comprises a set of records (also referred to as rows) having a common set of attributes (also referred to as fields or columns). The structure of the database (e.g., the tables, the columns of each table, the data types of each column, and other constraints) is governed by the database schema, which may be defined using a data definition language (DDL). Conventional relational database management systems (RDBMSs) support common features of Structured Query Language (SQL), including the data definition language (DDL) elements CREATE, DROP, and ALTER, and the data manipulation (DML) elements INSERT, DELETE, SELECT, and UPDATE.
Changes to a relational database schema may be inefficient. For example, an ALTER TABLE operation may take a long time to process because the underlying data must be physically restructured. The process of restructuring the data may require additional storage that is two or three times greater than the table size. As a result, non-relational data stores (e.g., SPARQL_RDF, Triple Store, etc.) have been increasingly adopted for data domains where schema flexibility is desired. These non-relational data stores require reinvention of query languages, query optimization, indexing, and storage management and transaction management with ACID (atomicity, consistency, isolation, and durability) properties, which modern relational database technology already provide.